setup_serial_console(struct pcdp_uart *uart)
{
#ifdef XEN
- extern struct ns16550_defaults ns16550_com;
- ns16550_com.baud = uart->baud;
- ns16550_com.io_base = uart->addr.address;
+ extern struct ns16550_defaults ns16550_com1;
+ ns16550_com1.baud = uart->baud;
+ ns16550_com1.io_base = uart->addr.address;
if (uart->bits)
- ns16550_com.data_bits = uart->bits;
+ ns16550_com1.data_bits = uart->bits;
return 0;
#else
#ifdef CONFIG_SERIAL_8250_CONSOLE
printf("*** ADD REGISTER DUMP HERE FOR DEBUGGING\n");
}
+int is_kernel_text(unsigned long addr)
+{
+ extern char _stext[], _etext[];
+ if (addr >= (unsigned long) _stext &&
+ addr <= (unsigned long) _etext)
+ return 1;
+
+ return 0;
+}
+
+unsigned long kernel_text_end(void)
+{
+ extern char _etext[];
+ return (unsigned long) _etext;
+}
+
///////////////////////////////
// from common/keyhandler.c
///////////////////////////////
return;
}
-struct ns16550_defaults ns16550_com = {
+struct ns16550_defaults ns16550_com1 = {
+ .data_bits = 8,
+ .parity = 'n',
+ .stop_bits = 1
+};
+
+struct ns16550_defaults ns16550_com2 = {
.data_bits = 8,
.parity = 'n',
.stop_bits = 1
/* We initialise the serial devices very early so we can get debugging. */
if (running_on_sim) hpsim_serial_init();
else {
- ns16550_com.io_base = 0x3f8;
- ns16550_com.irq = 4;
- ns16550_init(0, &ns16550_com);
- ns16550_com.io_base = 0x2f8;
- ns16550_com.irq = 3;
- ns16550_init(1, &ns16550_com);
+ ns16550_init(0, &ns16550_com1);
+ /* Also init com2 for Tiger4. */
+ ns16550_com2.io_base = 0x2f8;
+ ns16550_com2.irq = 3;
+ ns16550_init(1, &ns16550_com2);
}
serial_init_preirq();